package com.sunny.fetch.pojo;

import java.util.ArrayList;
import java.util.List;

public class FCnGdpExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public FCnGdpExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andTidIsNull() {
            addCriterion("tid is null");
            return (Criteria) this;
        }

        public Criteria andTidIsNotNull() {
            addCriterion("tid is not null");
            return (Criteria) this;
        }

        public Criteria andTidEqualTo(Long value) {
            addCriterion("tid =", value, "tid");
            return (Criteria) this;
        }

        public Criteria andTidNotEqualTo(Long value) {
            addCriterion("tid <>", value, "tid");
            return (Criteria) this;
        }

        public Criteria andTidGreaterThan(Long value) {
            addCriterion("tid >", value, "tid");
            return (Criteria) this;
        }

        public Criteria andTidGreaterThanOrEqualTo(Long value) {
            addCriterion("tid >=", value, "tid");
            return (Criteria) this;
        }

        public Criteria andTidLessThan(Long value) {
            addCriterion("tid <", value, "tid");
            return (Criteria) this;
        }

        public Criteria andTidLessThanOrEqualTo(Long value) {
            addCriterion("tid <=", value, "tid");
            return (Criteria) this;
        }

        public Criteria andTidIn(List<Long> values) {
            addCriterion("tid in", values, "tid");
            return (Criteria) this;
        }

        public Criteria andTidNotIn(List<Long> values) {
            addCriterion("tid not in", values, "tid");
            return (Criteria) this;
        }

        public Criteria andTidBetween(Long value1, Long value2) {
            addCriterion("tid between", value1, value2, "tid");
            return (Criteria) this;
        }

        public Criteria andTidNotBetween(Long value1, Long value2) {
            addCriterion("tid not between", value1, value2, "tid");
            return (Criteria) this;
        }

        public Criteria andQuarterIsNull() {
            addCriterion("quarter is null");
            return (Criteria) this;
        }

        public Criteria andQuarterIsNotNull() {
            addCriterion("quarter is not null");
            return (Criteria) this;
        }

        public Criteria andQuarterEqualTo(String value) {
            addCriterion("quarter =", value, "quarter");
            return (Criteria) this;
        }

        public Criteria andQuarterNotEqualTo(String value) {
            addCriterion("quarter <>", value, "quarter");
            return (Criteria) this;
        }

        public Criteria andQuarterGreaterThan(String value) {
            addCriterion("quarter >", value, "quarter");
            return (Criteria) this;
        }

        public Criteria andQuarterGreaterThanOrEqualTo(String value) {
            addCriterion("quarter >=", value, "quarter");
            return (Criteria) this;
        }

        public Criteria andQuarterLessThan(String value) {
            addCriterion("quarter <", value, "quarter");
            return (Criteria) this;
        }

        public Criteria andQuarterLessThanOrEqualTo(String value) {
            addCriterion("quarter <=", value, "quarter");
            return (Criteria) this;
        }

        public Criteria andQuarterLike(String value) {
            addCriterion("quarter like", value, "quarter");
            return (Criteria) this;
        }

        public Criteria andQuarterNotLike(String value) {
            addCriterion("quarter not like", value, "quarter");
            return (Criteria) this;
        }

        public Criteria andQuarterIn(List<String> values) {
            addCriterion("quarter in", values, "quarter");
            return (Criteria) this;
        }

        public Criteria andQuarterNotIn(List<String> values) {
            addCriterion("quarter not in", values, "quarter");
            return (Criteria) this;
        }

        public Criteria andQuarterBetween(String value1, String value2) {
            addCriterion("quarter between", value1, value2, "quarter");
            return (Criteria) this;
        }

        public Criteria andQuarterNotBetween(String value1, String value2) {
            addCriterion("quarter not between", value1, value2, "quarter");
            return (Criteria) this;
        }

        public Criteria andGdpIsNull() {
            addCriterion("gdp is null");
            return (Criteria) this;
        }

        public Criteria andGdpIsNotNull() {
            addCriterion("gdp is not null");
            return (Criteria) this;
        }

        public Criteria andGdpEqualTo(Float value) {
            addCriterion("gdp =", value, "gdp");
            return (Criteria) this;
        }

        public Criteria andGdpNotEqualTo(Float value) {
            addCriterion("gdp <>", value, "gdp");
            return (Criteria) this;
        }

        public Criteria andGdpGreaterThan(Float value) {
            addCriterion("gdp >", value, "gdp");
            return (Criteria) this;
        }

        public Criteria andGdpGreaterThanOrEqualTo(Float value) {
            addCriterion("gdp >=", value, "gdp");
            return (Criteria) this;
        }

        public Criteria andGdpLessThan(Float value) {
            addCriterion("gdp <", value, "gdp");
            return (Criteria) this;
        }

        public Criteria andGdpLessThanOrEqualTo(Float value) {
            addCriterion("gdp <=", value, "gdp");
            return (Criteria) this;
        }

        public Criteria andGdpIn(List<Float> values) {
            addCriterion("gdp in", values, "gdp");
            return (Criteria) this;
        }

        public Criteria andGdpNotIn(List<Float> values) {
            addCriterion("gdp not in", values, "gdp");
            return (Criteria) this;
        }

        public Criteria andGdpBetween(Float value1, Float value2) {
            addCriterion("gdp between", value1, value2, "gdp");
            return (Criteria) this;
        }

        public Criteria andGdpNotBetween(Float value1, Float value2) {
            addCriterion("gdp not between", value1, value2, "gdp");
            return (Criteria) this;
        }

        public Criteria andGdpYoyIsNull() {
            addCriterion("gdp_yoy is null");
            return (Criteria) this;
        }

        public Criteria andGdpYoyIsNotNull() {
            addCriterion("gdp_yoy is not null");
            return (Criteria) this;
        }

        public Criteria andGdpYoyEqualTo(Float value) {
            addCriterion("gdp_yoy =", value, "gdpYoy");
            return (Criteria) this;
        }

        public Criteria andGdpYoyNotEqualTo(Float value) {
            addCriterion("gdp_yoy <>", value, "gdpYoy");
            return (Criteria) this;
        }

        public Criteria andGdpYoyGreaterThan(Float value) {
            addCriterion("gdp_yoy >", value, "gdpYoy");
            return (Criteria) this;
        }

        public Criteria andGdpYoyGreaterThanOrEqualTo(Float value) {
            addCriterion("gdp_yoy >=", value, "gdpYoy");
            return (Criteria) this;
        }

        public Criteria andGdpYoyLessThan(Float value) {
            addCriterion("gdp_yoy <", value, "gdpYoy");
            return (Criteria) this;
        }

        public Criteria andGdpYoyLessThanOrEqualTo(Float value) {
            addCriterion("gdp_yoy <=", value, "gdpYoy");
            return (Criteria) this;
        }

        public Criteria andGdpYoyIn(List<Float> values) {
            addCriterion("gdp_yoy in", values, "gdpYoy");
            return (Criteria) this;
        }

        public Criteria andGdpYoyNotIn(List<Float> values) {
            addCriterion("gdp_yoy not in", values, "gdpYoy");
            return (Criteria) this;
        }

        public Criteria andGdpYoyBetween(Float value1, Float value2) {
            addCriterion("gdp_yoy between", value1, value2, "gdpYoy");
            return (Criteria) this;
        }

        public Criteria andGdpYoyNotBetween(Float value1, Float value2) {
            addCriterion("gdp_yoy not between", value1, value2, "gdpYoy");
            return (Criteria) this;
        }

        public Criteria andPiIsNull() {
            addCriterion("pi is null");
            return (Criteria) this;
        }

        public Criteria andPiIsNotNull() {
            addCriterion("pi is not null");
            return (Criteria) this;
        }

        public Criteria andPiEqualTo(Float value) {
            addCriterion("pi =", value, "pi");
            return (Criteria) this;
        }

        public Criteria andPiNotEqualTo(Float value) {
            addCriterion("pi <>", value, "pi");
            return (Criteria) this;
        }

        public Criteria andPiGreaterThan(Float value) {
            addCriterion("pi >", value, "pi");
            return (Criteria) this;
        }

        public Criteria andPiGreaterThanOrEqualTo(Float value) {
            addCriterion("pi >=", value, "pi");
            return (Criteria) this;
        }

        public Criteria andPiLessThan(Float value) {
            addCriterion("pi <", value, "pi");
            return (Criteria) this;
        }

        public Criteria andPiLessThanOrEqualTo(Float value) {
            addCriterion("pi <=", value, "pi");
            return (Criteria) this;
        }

        public Criteria andPiIn(List<Float> values) {
            addCriterion("pi in", values, "pi");
            return (Criteria) this;
        }

        public Criteria andPiNotIn(List<Float> values) {
            addCriterion("pi not in", values, "pi");
            return (Criteria) this;
        }

        public Criteria andPiBetween(Float value1, Float value2) {
            addCriterion("pi between", value1, value2, "pi");
            return (Criteria) this;
        }

        public Criteria andPiNotBetween(Float value1, Float value2) {
            addCriterion("pi not between", value1, value2, "pi");
            return (Criteria) this;
        }

        public Criteria andPiYoyIsNull() {
            addCriterion("pi_yoy is null");
            return (Criteria) this;
        }

        public Criteria andPiYoyIsNotNull() {
            addCriterion("pi_yoy is not null");
            return (Criteria) this;
        }

        public Criteria andPiYoyEqualTo(Float value) {
            addCriterion("pi_yoy =", value, "piYoy");
            return (Criteria) this;
        }

        public Criteria andPiYoyNotEqualTo(Float value) {
            addCriterion("pi_yoy <>", value, "piYoy");
            return (Criteria) this;
        }

        public Criteria andPiYoyGreaterThan(Float value) {
            addCriterion("pi_yoy >", value, "piYoy");
            return (Criteria) this;
        }

        public Criteria andPiYoyGreaterThanOrEqualTo(Float value) {
            addCriterion("pi_yoy >=", value, "piYoy");
            return (Criteria) this;
        }

        public Criteria andPiYoyLessThan(Float value) {
            addCriterion("pi_yoy <", value, "piYoy");
            return (Criteria) this;
        }

        public Criteria andPiYoyLessThanOrEqualTo(Float value) {
            addCriterion("pi_yoy <=", value, "piYoy");
            return (Criteria) this;
        }

        public Criteria andPiYoyIn(List<Float> values) {
            addCriterion("pi_yoy in", values, "piYoy");
            return (Criteria) this;
        }

        public Criteria andPiYoyNotIn(List<Float> values) {
            addCriterion("pi_yoy not in", values, "piYoy");
            return (Criteria) this;
        }

        public Criteria andPiYoyBetween(Float value1, Float value2) {
            addCriterion("pi_yoy between", value1, value2, "piYoy");
            return (Criteria) this;
        }

        public Criteria andPiYoyNotBetween(Float value1, Float value2) {
            addCriterion("pi_yoy not between", value1, value2, "piYoy");
            return (Criteria) this;
        }

        public Criteria andSiIsNull() {
            addCriterion("si is null");
            return (Criteria) this;
        }

        public Criteria andSiIsNotNull() {
            addCriterion("si is not null");
            return (Criteria) this;
        }

        public Criteria andSiEqualTo(Float value) {
            addCriterion("si =", value, "si");
            return (Criteria) this;
        }

        public Criteria andSiNotEqualTo(Float value) {
            addCriterion("si <>", value, "si");
            return (Criteria) this;
        }

        public Criteria andSiGreaterThan(Float value) {
            addCriterion("si >", value, "si");
            return (Criteria) this;
        }

        public Criteria andSiGreaterThanOrEqualTo(Float value) {
            addCriterion("si >=", value, "si");
            return (Criteria) this;
        }

        public Criteria andSiLessThan(Float value) {
            addCriterion("si <", value, "si");
            return (Criteria) this;
        }

        public Criteria andSiLessThanOrEqualTo(Float value) {
            addCriterion("si <=", value, "si");
            return (Criteria) this;
        }

        public Criteria andSiIn(List<Float> values) {
            addCriterion("si in", values, "si");
            return (Criteria) this;
        }

        public Criteria andSiNotIn(List<Float> values) {
            addCriterion("si not in", values, "si");
            return (Criteria) this;
        }

        public Criteria andSiBetween(Float value1, Float value2) {
            addCriterion("si between", value1, value2, "si");
            return (Criteria) this;
        }

        public Criteria andSiNotBetween(Float value1, Float value2) {
            addCriterion("si not between", value1, value2, "si");
            return (Criteria) this;
        }

        public Criteria andSiYoyIsNull() {
            addCriterion("si_yoy is null");
            return (Criteria) this;
        }

        public Criteria andSiYoyIsNotNull() {
            addCriterion("si_yoy is not null");
            return (Criteria) this;
        }

        public Criteria andSiYoyEqualTo(Float value) {
            addCriterion("si_yoy =", value, "siYoy");
            return (Criteria) this;
        }

        public Criteria andSiYoyNotEqualTo(Float value) {
            addCriterion("si_yoy <>", value, "siYoy");
            return (Criteria) this;
        }

        public Criteria andSiYoyGreaterThan(Float value) {
            addCriterion("si_yoy >", value, "siYoy");
            return (Criteria) this;
        }

        public Criteria andSiYoyGreaterThanOrEqualTo(Float value) {
            addCriterion("si_yoy >=", value, "siYoy");
            return (Criteria) this;
        }

        public Criteria andSiYoyLessThan(Float value) {
            addCriterion("si_yoy <", value, "siYoy");
            return (Criteria) this;
        }

        public Criteria andSiYoyLessThanOrEqualTo(Float value) {
            addCriterion("si_yoy <=", value, "siYoy");
            return (Criteria) this;
        }

        public Criteria andSiYoyIn(List<Float> values) {
            addCriterion("si_yoy in", values, "siYoy");
            return (Criteria) this;
        }

        public Criteria andSiYoyNotIn(List<Float> values) {
            addCriterion("si_yoy not in", values, "siYoy");
            return (Criteria) this;
        }

        public Criteria andSiYoyBetween(Float value1, Float value2) {
            addCriterion("si_yoy between", value1, value2, "siYoy");
            return (Criteria) this;
        }

        public Criteria andSiYoyNotBetween(Float value1, Float value2) {
            addCriterion("si_yoy not between", value1, value2, "siYoy");
            return (Criteria) this;
        }

        public Criteria andTiIsNull() {
            addCriterion("ti is null");
            return (Criteria) this;
        }

        public Criteria andTiIsNotNull() {
            addCriterion("ti is not null");
            return (Criteria) this;
        }

        public Criteria andTiEqualTo(Float value) {
            addCriterion("ti =", value, "ti");
            return (Criteria) this;
        }

        public Criteria andTiNotEqualTo(Float value) {
            addCriterion("ti <>", value, "ti");
            return (Criteria) this;
        }

        public Criteria andTiGreaterThan(Float value) {
            addCriterion("ti >", value, "ti");
            return (Criteria) this;
        }

        public Criteria andTiGreaterThanOrEqualTo(Float value) {
            addCriterion("ti >=", value, "ti");
            return (Criteria) this;
        }

        public Criteria andTiLessThan(Float value) {
            addCriterion("ti <", value, "ti");
            return (Criteria) this;
        }

        public Criteria andTiLessThanOrEqualTo(Float value) {
            addCriterion("ti <=", value, "ti");
            return (Criteria) this;
        }

        public Criteria andTiIn(List<Float> values) {
            addCriterion("ti in", values, "ti");
            return (Criteria) this;
        }

        public Criteria andTiNotIn(List<Float> values) {
            addCriterion("ti not in", values, "ti");
            return (Criteria) this;
        }

        public Criteria andTiBetween(Float value1, Float value2) {
            addCriterion("ti between", value1, value2, "ti");
            return (Criteria) this;
        }

        public Criteria andTiNotBetween(Float value1, Float value2) {
            addCriterion("ti not between", value1, value2, "ti");
            return (Criteria) this;
        }

        public Criteria andTiYoyIsNull() {
            addCriterion("ti_yoy is null");
            return (Criteria) this;
        }

        public Criteria andTiYoyIsNotNull() {
            addCriterion("ti_yoy is not null");
            return (Criteria) this;
        }

        public Criteria andTiYoyEqualTo(Float value) {
            addCriterion("ti_yoy =", value, "tiYoy");
            return (Criteria) this;
        }

        public Criteria andTiYoyNotEqualTo(Float value) {
            addCriterion("ti_yoy <>", value, "tiYoy");
            return (Criteria) this;
        }

        public Criteria andTiYoyGreaterThan(Float value) {
            addCriterion("ti_yoy >", value, "tiYoy");
            return (Criteria) this;
        }

        public Criteria andTiYoyGreaterThanOrEqualTo(Float value) {
            addCriterion("ti_yoy >=", value, "tiYoy");
            return (Criteria) this;
        }

        public Criteria andTiYoyLessThan(Float value) {
            addCriterion("ti_yoy <", value, "tiYoy");
            return (Criteria) this;
        }

        public Criteria andTiYoyLessThanOrEqualTo(Float value) {
            addCriterion("ti_yoy <=", value, "tiYoy");
            return (Criteria) this;
        }

        public Criteria andTiYoyIn(List<Float> values) {
            addCriterion("ti_yoy in", values, "tiYoy");
            return (Criteria) this;
        }

        public Criteria andTiYoyNotIn(List<Float> values) {
            addCriterion("ti_yoy not in", values, "tiYoy");
            return (Criteria) this;
        }

        public Criteria andTiYoyBetween(Float value1, Float value2) {
            addCriterion("ti_yoy between", value1, value2, "tiYoy");
            return (Criteria) this;
        }

        public Criteria andTiYoyNotBetween(Float value1, Float value2) {
            addCriterion("ti_yoy not between", value1, value2, "tiYoy");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}